FIG. 1 depicts a schematic diagram of a telecommunications network in the prior art, such as the Internet, which transports data packets from one node to another. When each node in the network can be both a source of packets and a destination, there are k(k−1) network paths through the network, wherein k is positive integer that represents the number of nodes in the network. For the purposes of this specification, a “network path” is defined as the physical route between a pair of source and destination nodes in a network.
The service provided by a network path is characterized by its “quality of service,” which, for the purposes of this specification, is defined as a function of the bandwidth, error rate, and latency from one node to another. For the purposes of this specification, the “bandwidth” from one node to another is defined as an indication of the amount of information per unit time that can be transported from the first node to the second. Typically, bandwidth is measured in bits or bytes per second. For the purposes of this specification, the “error rate” from one node to another is defined as an indication of the amount of information that is corrupted as it travels from the first node to the second. Typically, error rate is measured in bit errors per number of bits transmitted or in packets lost per number of packets transmitted. For the purposes of this specification, the “latency” from one node to another is defined as an indication of how much time is required to transport information from one node to another. Typically, latency is measured in seconds.
Some applications—for example, e-mail—are generally more tolerant of the quality of service provided by the network path, but some other applications—particularly telephony, and streaming audio and video—are generally very sensitive. While some network paths provide quality-of-service guarantees, many others, including most of those through the Internet, do not. The result is that the provisioning of applications like telephony through the Internet can require transmitting some packets of a given packet stream across one network path and transmitting other packets of the same stream across another network path, in order to maintain the required or preferred quality of service level. The result is that the provisioning of applications like telephony through the Internet can be problematic.
A network path is subject to various kinds of degradation in the quality of service. Degradation can be sudden, in which one moment the quality of service is excellent and the next moment the quality of service is poor. A sudden degradation can occur, for example, when a transmission cable is cut or a router malfunctions. Degradation can also be gradual, in which the quality of service starts out good, then becomes fair, possibly for an extended period, then eventually becomes unsatisfactory. A gradual degradation can occur, for example, when one or more nodes in a network path start to become congested.
Multiple path transport (also known as path or route diversity) schemes have been proposed for telecommunications networks to achieve increased quality of service and reliability. In multiple path transport (MPT), multiple paths are established between a source node and a destination node, and the transmitted packet stream is split up and transmitted via the established multiple paths. However, the use of multiple path transport does not, by itself, guarantee that a stream of packets will experience a satisfactory quality of service.
The need exists, therefore, for an invention that improves the overall quality of service that is experienced during the transmission of a stream of packets.